import {
  getSpuList
} from '../../api/productApi.js'

import category from './category.js'

export default {
  namespaced: true,
  state: {
    //推荐商品分类
    recommend_category_list: [{
      "cate_id": 130,
      "cate_name": "手机",
    }, {
      "cate_id": 34,
      "cate_name": "空调",
    }, {
      "cate_id": 26,
      "cate_name": "电视",
    }, {
      "cate_id": 219,
      "cate_name": "笔记本",
    }],
    //推荐商品分类和商品
    recommend_spu_list: [],
    //图片服务器地址
    base_img_url: 'http://localhost:8001/img/',
    //home中点击的当前商品
    spu: {},
    //商品详情页,图片颜色的切换attrValueList[]
    ablum_index: 0,
    //商品详情页,图片颜色不同角度的切换value_images[]
    ablum_item_index: 0,
    //保存spu中的第一个sku
    sku: {},
    //当前spu的第一个sku的属性
    sku_attr_list: [],
    //购买数量
    buy_number: 0,
    //分类下的商品列表
    category_spu_list: []
  },
  getters: {},
  mutations: {
    //保存分类和商品数据
    set_recommend_spu_list(state, val) {
      state.recommend_spu_list.push(val);
    },
    //保存home中点击的当前商品
    set_spu(state, val) {
      state.spu = val;
    },
    //设置商品详情页,图片颜色不同角度的切换value_images[]
    set_ablum_item_index(state, val) {
      state.ablum_item_index = val;
    },
    //设置商品详情页,切换商品颜色属性时,改变对应的图片attrValueList[]
    set_ablum_index(state, val) {
      state.ablum_index = val;
    },
    //保存spu中的第一个sku
    set_sku(state, val) {
      state.sku = val
    },
    //设置当前spu的第一个sku的属性
    set_sku_attr_list(state, value) {
      state.sku_attr_list = value
    },
    //设置分类下的商品列表
    set_category_spu_list(state, value) {
      state.category_spu_list = value;
    }
  },
  actions: {
    //获取分类下的商品数据
    get_category_spu_list(context, val) {
      getSpuList({
        cate_id: category.state.cate.cate_id,
        start: 0,
        length: 10
      }).then(function(response) {
        if (response.data.httpcode == 200) {
          let categorySpuList = {
            //分类数据
            category: category.state.cate,
            //分类下商品数据
            spuList: response.data.data
          }
          //保存分类和商品数据到数组category_spu_list中
          context.commit('set_category_spu_list', categorySpuList);
        }
      })
    },
    //获取推荐商品
    get_recommend_category_list(context) {
      context.state.recommend_category_list.forEach(function(cate) {
        getSpuList({
          cate_id: cate.cate_id,
          start: 0,
          length: 5
        }).then(function(response) {
          if (response.data.httpcode == 200) {
            let recommendCategory = {
              //分类数据
              category: cate,
              //分类下商品数据
              spuList: response.data.data
            }
            //保存分类和商品数据到数组recommend_spu_list中
            context.commit('set_recommend_spu_list', recommendCategory);
          }
        })
      })
    }
  }
}
